package beans;

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Date;
import javax.ejb.EJB;
import sessionBeans.*;
import entityBeans.*;
/**
 *
 * @author matias
 */
public class buscaPeliculaBean {
    @EJB
    private DvdFacade df;

    private String codigo;
    private List listadvd;
    private String mensaje;
    private String titulo;
    private int anno;
    private String director;
    //----------------------------------
    // abajo de esta linea son variables que no  sirven de naaaaa
    private int precioventa;
    private int precioarriendo;
    private Date fecharegistro;
    private boolean estadoarriendo;	// 1->disponible,  0->no disponible
    private boolean estadoventa;	// 1->disponible,  0->no disponible
    // Atributos de utilidad de la aplicacion, no propios de la entidad (se entiende XD)

    @SuppressWarnings("unchecked")
    public List getAll(){
            //return dvd.Dvd.getAll();
            return null;
    }
    public List getlistadvd(){
            return listadvd;
    }
    public void setListadvd(List a){
            listadvd = a;
    }
    public String getCodigo(){
            return codigo;
    }
    public String getMensaje(){
            return mensaje;
    }

    public String getTitulo(){
            return titulo;
    }

    public int getAnno(){
            return anno;
    }

    public String getDirector(){
            return director;
    }

    public void setCodigo(String codigo){
            this.codigo = codigo;
    }

    public void setTitulo(String titulo){
            this.titulo = titulo;
    }
    public void setMensaje(String mensaje){
            this.mensaje = mensaje;
    }
    public void setAnno(int year){
            this.anno = year;
    }
    public void setDirector(String director){
            this.director = director;
    }
    //---------------------------------------------------------------
    //Abajo de esta linea son metodos que  no sirven de naaaaaa
    public int getPrecioventa(){
            return precioventa;
    }
    public int getPrecioarriendo(){
            return precioarriendo;
    }
    public Date getFecharegistro(){
            return fecharegistro;
    }
    public boolean isEstadoarriendo(){
            return estadoarriendo;
    }

    public boolean isEstadoventa(){
            return estadoventa;
    }
    public void setPrecioventa(int precio){
            this.precioventa = precio;
    }
    public void setPrecioarriendo(int precio){
            this.precioarriendo = precio;
    }
    public void setFecharegistro(Date f){
            this.fecharegistro = f;
    }
    public void setEstadoarriendo(boolean estadoArriendo){
            estadoarriendo = estadoArriendo;
    }
    public void setEstadoventa(boolean estadoVenta){
            estadoventa = estadoVenta;
    }
    // metodo invocado desde listaUsuarioDVD
    public String buscar(){
            if(this.titulo.equals("")||this.director.equals("")||this.anno==0){
                    mensaje = "Campos no pueden ser todos nulos";
                    return "failure";
            }
            listadvd = new ArrayList<Dvd>();
            List<Dvd> aux=df.findAll();
            Iterator it=aux.iterator();
            while(it.hasNext()){
                Dvd pelicula = (Dvd)it.next();
                if(!titulo.equals("") && (titulo.indexOf(pelicula.getNombre())>0||pelicula.getNombre().indexOf(titulo)>0)){
                    listadvd.add(pelicula);
                    continue;
                }
                if(!director.equals("") && (director.indexOf(pelicula.getDirector())>0||pelicula.getDirector().indexOf(director)>0)){
                    listadvd.add(pelicula);
                    continue;
                }
                if(anno!=0 && (anno+"").equals(pelicula.getAno())){
                    listadvd.add(pelicula);
                }
            }
            return "success";
    }
}
